﻿using ShoppingEntity;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace IShoppingBll
{
    public interface IOrderInfoBll : IBaseDeleteBll<OrderInfo>
    {
        /// <summary>
        /// 模糊查询订单信息
        /// </summary>
        /// <param name="page"></param>
        /// <param name="limit"></param>
        /// <param name="count"></param>
        /// <param name="commodityName"></param>
        /// <returns></returns>
        object GetOrderInfoPageList(int page, int limit, out int count, string commodityName, UserInfo userInfo); 


        /// <summary>
        /// 接单方法
        /// </summary>
        /// <param name="orderInfo"></param>
        /// <param name="iD"></param>
        /// <returns></returns>
        bool AddDistributionInfo(string orderInfoId, string UserInfoId);



        /// <summary>
        /// 收货方法
        /// </summary>
        /// <param name="orderInfoId"></param>
        /// <returns></returns>
        bool Goodsreceipt(string orderInfoId);


        /// <summary>
        /// 退货
        /// </summary>
        /// <param name="orderInfoId"></param>
        /// <returns></returns>
        bool Salesreturn(string orderInfoId, out string msg);


        /// <summary>
        /// 获取退货商品的数据
        /// </summary>
        /// <param name="orderInfoId"></param>
        /// <returns></returns>

        object AddSalesreturnViewOption(string orderInfoId);



        /// <summary>
        /// 添加退换货记录
        /// </summary>
        /// <param name="orderId"></param>
        /// <param name="reason"></param>
        /// <returns></returns>
        bool AddSalesreturn(string orderId, string reason);

        /// <summary>
        /// 退回货物
        /// </summary>
        /// <param name="orderId"></param>
        /// <returns></returns>
        bool Turndestock(string orderId);

        /// <summary>
        /// 退款
        /// </summary>
        /// <param name="orderInfoId"></param>
        /// <returns></returns>
        bool Refund(string orderInfoId);
    }
}
